/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package beans;

import bd.ConexaoBD;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

/**
 *
 * @author melina
 */
public class BeanUsuario {
    private String nome;
    private int idade;
    private String email;
    private String endereco;
    private String telefone; //usada apenas para validacao, não é salva em banco
    private int id;

    /**
     * @return the nome
     */
    public String getNome() {
        return nome;
    }

    /**
     * @param nome the nome to set
     */
    public void setNome(String nome) {
        this.nome = nome;
    }

    /**
     * @return the idade
     */
    public int getIdade() {
        return idade;
    }

    /**
     * @param idade the idade to set
     */
    public void setIdade(int idade) {
        this.idade = idade;
    }

    /**
     * @return the email
     */
    public String getEmail() {
        return email;
    }

    /**
     * @param email the email to set
     */
    public void setEmail(String email) {
        this.email = email;
    }

    /**
     * @return the endereco
     */
    public String getEndereco() {
        return endereco;
    }

    /**
     * @param endereco the endereco to set
     */
    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    /**
     * @return the telefone
     */
    public String getTelefone() {
        return telefone;
    }

    /**
     * @param telefone the telefone to set
     */
    public void setTelefone(String telefone) {
        this.telefone = telefone;
    }

    /**
     * @return the id
     */
    public int getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(int id) {
        this.id = id;
    }
    
public boolean estaValido() {
    boolean retorno = true;

    if ((getNome() == null) || (getNome().equals(""))) {
            retorno = false;
    }

    if ((Integer.toString(getIdade()) == null)|| (Integer.toString(getIdade()) == "")) {
            retorno = false;
    }

    if ((getEmail() == null) || (getEmail().equals(""))) {
            retorno = false;
    }

    if ((getEndereco() == null) || (getEndereco().equals(""))) {
            retorno = false;
    }

    if ((getTelefone()== null) || (getTelefone().equals(""))) {
            retorno = false;
    }

    return retorno;

} 
    
    
    /**
     * Esta função persiste os dados do pedido no banco de dados
     * @return true se a operação ocorrer com sucesso e false caso contrário
     */
    public boolean save()
    {
      boolean retorno = false;
      ConexaoBD conexao = new ConexaoBD();
      Connection conn = conexao.getConexao(); //faz conexão com o banco de dados
      if(conn != null)
      {
        PreparedStatement p;
        try
        {
          p = conn.prepareStatement("insert into pedido (nome,idade,email,"
                  + "endereco,telefone) values (?,?,?,?,?)");
          
          //seta os campos da query SQL
          p.setString(1,getNome());
          p.setInt(2, getIdade());
          p.setString(3, getEmail());
          p.setString(4,getEndereco());
          p.setString(5,getTelefone());
           //Executa a query e se conseguir gravar no banco atribui true no retorno
          if(p.executeUpdate() > 0) 
            retorno = true;
        }
        catch(SQLException ex)
        {
          System.err.println("Falha de inserção no banco: " + ex.getMessage());
        }
        finally
        {
          conexao.fecharConexao(); //fecha a conexão com o banco de dados
        }
      }
      return retorno;
    }

   
}
